const { config } = require("@swc/core/spack");
// require("@swc/register");

module.exports = config({
  //入口文件
  entry: __dirname + "/src/index.ts",
  //输出
  output: {
    path: __dirname + "/dist",
  },

  // swc编译配置
  options: {
    exclude: [],
    jsc: {
      //解析配置
      parser: {
        syntax: "typescript", //输入文件格式
        tsx: false, // 是否支持tsx
        dynamicImport: false, //是否支持动态导入
        decorators: false, //是否支持装饰器
      },
      transform: null,
      target: "es5", //转译目标
      loose: false,
      externalHelpers: false,
      keepClassNames: false,
      minify: {
        compress: {
          unused: true,
        },
        mangle: false,
        format: {
          beautify: true, // swc还在开发，目前这个配置不好用
        },
      },

      externalHelpers: true,
    },

    // 输出文件配置
    module: {
      type: "commonjs",
      strict: false,
      strictMode: true,
      lazy: false,
      noInterop: false,
      ignoreDynamic: false,
    },

    // Enable minification
    minify: true,
  },
});
